package by.semerikov.tests;
import static org.junit.Assert.*;

import java.sql.Connection; 
import java.util.List;

import org.junit.Test;

import by.semerikov.dao.Person;
import by.semerikov.dao.factory.mysqlJdbc.PersonDAO;
import by.semerikov.data.Connector;

public class PersonDAOTest {

	Person testPerson = new Person(2, "L", "S", "A", null, null);
	
	@Test
	public void testRead() {
		try{
			Connection conn = Connector.getConnection();
			PersonDAO pd = new PersonDAO(conn);
			Person testPerson = new Person(null, null, null, null, "wer", null);
			List<Person> test = pd.read(testPerson);
			test.size();
			assertTrue(true);
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
	
//	@Test
//	public void testCreate() {
//		try{
//			PersonDAO pd = new PersonDAO();
//			Person testPerson = new Person(2, "L", "S", "A", null, null);
//			pd.create(testPerson);
//			pd.delete(testPerson);
//			assertTrue(true);
//		}
//		catch(Exception e)
//		{
//			
//			e.printStackTrace();
//			assertFalse(false);
//		}
//	}
//	
//	@Test
//	public void testDelete()
//	{
//		try{
//			PersonDAO pd = new PersonDAO();
//			pd.delete(testPerson);
//			List<Person> test = pd.read(testPerson);
//			assertTrue(test.size() == 0);
//		}
//		catch(Exception e)
//		{
//			
//			e.printStackTrace();
//			assertFalse(false);
//		}
//	}
//	
//	@Test
//	public void testUpdate() {
//		try{
//			PersonDAO pd = new PersonDAO();
//			Person testPerson = new Person(2, "L", "S", "A", null, null);
//			pd.create(testPerson);
//			Person test = pd.read(testPerson).get(0);
//			test.setName("updated name");
//			pd.update(test);
//			test = pd.read(test).get(0);
//			pd.delete(test);
//			assertTrue("updated name".equals(test.getName()));
//			
//		}
//		catch(Exception e)
//		{
//			
//			e.printStackTrace();
//			assertFalse(false);
//		}
//	}

}
